﻿using System.Security.Cryptography;

namespace Infrastructure.Utility.Core.EncryptAES256
{
    public class Aes256EncryptProvider : IAes256EncryptProvider
    {
        private readonly ICryptoTransform _decryptor;
        private readonly ICryptoTransform _encryptor;
        private readonly IEncryptConfig _encryptConfig;

        public Aes256EncryptProvider(ICryptoTransform decryptor, ICryptoTransform encryptor, IEncryptConfig encryptConfig)
        {
            _decryptor = decryptor;
            _encryptor = encryptor;
            _encryptConfig = encryptConfig;
        }

        public ICryptoTransform Decryptor => _decryptor;
        public ICryptoTransform Encryptor => _encryptor;
        public IEncryptConfig EncryptConfig => _encryptConfig;
    }
}